PHP新手30天實戰金流, Laravel執行 php artisan make:controller Api/v1/PersonController 新增 controller
舊的目錄:
新的目錄:
將舊的 Controller 的程式碼貼到新的 controller裡,然後刪掉
在 route/api.php中, 原本 Controller 的路徑加上 Api\v1
測試:http://localhost:8000/api/person/3
php artisan make:resource v2/PersonResource 和php artisan make:controller Api/v2/PersonController
public function toArray($request)
{
    return [
        'info' => $this->last_name .' '. $this->email,
        'pwd' => $this->password,
    ];
}
use App\Http\Resources\v2\PersonResource;
use App\Person;
    class PersonController extends Controller
{
    public function show(Person $person): PersonResource
    {
        return new PersonResource($person);
    }
}

當我們使用 Laravel 6 提供的 Auth 套件做內建的 user model 的身份驗證時,需要經過信箱確認 user 才能成功登入。因此我們將信箱確認的流程加進我們的平台中。
首先在環境檔設定我們要使用的 email server 。 沙拉是到 mailtrap 註冊一個測試用的email,免費方案可以有500封。
在檔案.env 中依照註冊的信箱設定 Mail Driver
 
MAIL_ENCRYPTION=tls
在 app/User.php 中,加 implements MustVerifyEmail,讓我們的 User 類別實作認證信箱的介面
class User extends Authenticatable implements MustVerifyEmail
{}
app/Http/Controllers/HomeController.php 中
use App\User;
public function __construct()
    {
        $this->middleware(['auth','verified']);
    }
    
public function index()
    {
        $user = auth()->user();
        echo $user->name;
        if ($user->name =="sarah"){
            return view('admin/new_object');
        }else{
            return view('customer/shopping_mall');
        }
        
    }
routes/web.php
Auth::routes(['verify' => true]);
routes/api.php 將我們想要有經過身份驗證才能訪問的頁面都設定在中介層之後Route::group(['middleware' => 'auth:api'], function () {
    Route::get('/person/{person}');
    Route::get('/test_shop/new_object');
    });    
註冊帳號後,到測試信箱收驗證信

resources/views/master.blade.php 加登出功能<a href="{{ route('logout') }}" onclick="event.preventDefault();
                        document.getElementById('logout-form').submit();">
    {{ __('Logout') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
    @csrf
</form>
OK 今天先到這裡! 第五天會實作一點點前端 Shopping 的部分!
晚生學習分享所學經驗,若內容有誤或不清楚,煩請不吝指教!更是歡迎各位大神多多補充,感謝萬分!